#include<stdio.h>
int main(int argc, char const *argv[])
{
    // 黑盒子
    int GPIO_MIODE = 231568;
    //  0000 0000 0000 0011 1000 1000 1001 0000

    //将第29位和30位变成 01
    int i = 1;
    int mod_1 = i << 29;
    //  0010 0000 0000 0000 0000 0000 0000 0000
    int result_1 = GPIO_MIODE | mod_1;
    printf("将第29位和30位变成 01后为:%d\n",result_1);
    //  0010 0000 0000 0011 1000 1000 1001 0000

    // 将第31位和32位变成 11
    int j = 11;
    int mod_2 = j << 30;
    //  1100 0000 0000 0000 0000 0000 0000 0000
    int result_2 = result_1 | mod_2;
    printf("将第31位和32位变成 11后为:%d\n", result_2);
    //  1110 0000 0000 0011 1000 1000 1001 0000

    // 将第7位和8位变成 11
    int mod_3 = j << 6;
    //  0000 0000 0000 0000 0000 0000 1100 0000
    int result_3 = result_2 | mod_3;
    printf("将第31位和32位变成 11后为:%d\n", result_3);
    //  1110 0000 0000 0011 1000 1000 1101 0000
    return 0;
}
